package org.lemon.cla.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.lemon.cla.enums.FeedbackTypeEnum;
import org.lemon.cla.enums.FeedbackStatusEnum;

import java.time.LocalDateTime;

@Data
@Schema(description = "应用反馈模糊查询请求对象")
public class FeedbackSearchRequest {

    @Schema(description = "用户ID (精确匹配)", example = "101")
    private Long userId;

    @Schema(description = "反馈类型", example = "建议", allowableValues = {"错误", "建议", "投诉", "其他"})
    private FeedbackTypeEnum feedbackType;

    @Schema(description = "反馈内容关键词 (模糊查询)", example = "功能")
    private String content;

    @Schema(description = "联系方式关键词 (模糊查询)", example = "138")
    private String contact;

    @Schema(description = "创建时间起始点", example = "2024-01-01T00:00:00")
    private LocalDateTime createTimeStart;

    @Schema(description = "创建时间结束点", example = "2024-12-31T23:59:59")
    private LocalDateTime createTimeEnd;

    @Schema(description = "处理状态", example = "待处理", allowableValues = {"待处理", "处理中", "已解决", "已关闭"})
    private FeedbackStatusEnum status;

    @Schema(description = "管理员回复关键词 (模糊查询)", example = "感谢")
    private String reply;

    @Schema(description = "回复时间起始点", example = "2024-01-01T00:00:00")
    private LocalDateTime replyTimeStart;

    @Schema(description = "回复时间结束点", example = "2024-12-31T23:59:59")
    private LocalDateTime replyTimeEnd;
}